//3709:2进制转化为3进制
/*
描述
输入一个2进制的数，要求输出该2进制数的3进制表示。
在3进制的表示中，只有0,1,2三种符号
输入
第1行是测试数据的组数n，后面跟着n行输入。每组测试数据占1行，包括一个以0和1组成的字符串，字
符串长度至少是1，至多是64
输出
n行，每行输出对应一个输入。
*/

#include <iostream>
#include <stdio.h>
#include <fstream>
#include <string.h>

using namespace std;

unsigned long long base = 1;
int main()
{
    int n,length;
    unsigned long long digit = 0;
    char str[100];
    char NewStr[100];
    scanf("%d",&n);
    while(n--)
    {
        digit = 0;
        memset(str,0,sizeof(str));
        memset(NewStr,0,sizeof(NewStr));
        cin >> str;
        base = 1;
        length = strlen(str);
        for(int j = length - 1; j >= 0; --j)
        {
            digit += (long long)(str[j] - '0') * base;
            base *= 2;
        }
        if(digit == 0)
        {
            printf("0\n");
            continue;
        }
        int i = 0;
        while(digit > 0)
        {
            NewStr[i++] = digit % 3 + '0';
            digit /= 3;
        }
        NewStr[i] = '\0';
        for(int k = i -1; k >= 0; --k){
            printf("%c",NewStr[k]);
        }
        printf("\n");
    }
    return 0;
}


